Component-based building assessment

ABSTRACT

In one implementation, a computer-implemented method includes receiving a request for component-based building information indicating building quality; identifying one or more buildings responsive to the request; and for each building from the one or more buildings: accessing component information for components installed in the building, the component information including (i) a record of user-generated service requests for the components, (ii) a record of services performed on the components, and (iii) remaining warranty terms for the components; determining quality ratings for the components based on evaluation of the component information using one or more data models that correlate portions of the component information with one or more quality rating values; determining one or more overall quality ratings for the building based on one or more combinations of the quality ratings for the components in the building; and providing the one or more overall quality ratings for the building.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of priority to U.S. Provisional Application Ser. No. 62/069,559, which is entitled “MANAGING BUILDING INFORMATION AND RESOLVING BUILDING ISSUES” and has a filing date of Oct. 28, 2014; to U.S. Provisional Application Ser. No. 62/115,088, which is entitled “MANAGING BUILDING INFORMATION AND RESOLVING BUILDING ISSUES” and has a filing date of Feb. 11, 2015; to U.S. Provisional Application Ser. No. 62/172,697, which is entitled “MANAGING BUILDING INFORMATION AND RESOLVING BUILDING ISSUES” and has a filing date of Jun. 8, 2015; and to U.S. Provisional Application Ser. No. 62/206,265, which is entitled “MANAGING BUILDING INFORMATION AND RESOLVING BUILDING ISSUES” and has a filing date of Aug. 17, 2015. The entire contents of these applications are incorporated herein by reference.

TECHNICAL FIELD

This document generally describes computer-based technology related to assessing a building based on components of the building.

BACKGROUND

Properties have traditionally been assessed based on factors such as square footage, the number of bedrooms and bathrooms, age, and prices of comparable properties in the area. Sources of real estate data, such as real estate listing websites, may include an estimate of the value of a property, and may include additional information including photos, a list of appliances included with the property, and other relevant features. For example, real estate computer systems have been provided for users to identify homes that meet user-designated criteria, like the number of bedrooms and bathrooms, location, school districts, asking price, and estimated price. Such real estate computer systems have used a variety of techniques to determine estimated home values, such as comparing the characteristics of a home (e.g., square footage, bedrooms, bathrooms, location) with the characteristics of other nearby homes that were recently sold in the nearby area so as to extrapolate an estimated value for the home.

SUMMARY

This document generally describes computer-based technology for technically assessing the quality of buildings based on the components that are included in and installed as part of the buildings. For example, this document describes computer systems and computer-implemented technology that can obtain and manage information related to the specific components that are installed in a building, such as fixtures (e.g., light fixtures, plumbing fixtures), materials (e.g., carpeting, siding, roofing), systems (e.g., fire suppression system, HVAC systems), and/or other appropriate components, and can use the information to technically assess the quality of the building. For instance, oftentimes users initially select a building, such as a home or commercial building, based on the high-level characteristics of the building (e.g., bedrooms, bathrooms, location, square footage) and will only get an idea of the specific components within the building through onsite inspections.

However, these high-level characteristics may not provide an indication of the building's quality and an onsite inspection can be limited by the knowledge/experience level of the inspector, the ability to visually inspect components (e.g., components concealed within walls may not accessible for inspection), and the lack of component history (e.g., service record, replacement history) available to the inspector. The disclosed computer techniques leverage building component data, such as information identifying the particular components that are installed in buildings, the dates on which they were installed and/or serviced, their associated warranties and warranty periods, and historical component performance in other buildings (e.g., replacement/repair history for components in other buildings), to technically assess the quality of a building.

Such computer systems and computer-implemented technology can additionally include techniques to consolidate technical assessments of building quality to readily digestible bits of information for users. For example, instead of providing a user with a complete data file on the components within a building and their service history, computer-implemented techniques described in this document can automatically analyze the component information to provide overall quality ratings information for buildings based on their components, quality ratings for the components themselves, quality ratings for maintenance provided on the components, and/or other quality-related metrics that can provide a user with a higher-level assessment of the quality of a building (or a portion thereof).

In one implementation, a computer-implemented method includes receiving, at a computer system and from a client computing device, a request for component-based building information indicating building quality; identifying, by the computer system, one or more buildings responsive to the request; and for each building from the one or more buildings: accessing, by the computer system and using an identifier for the building, component information for components installed in the building, the component information including (i) a record of user-generated service requests for the components, (ii) a record of services performed on the components, and (iii) remaining warranty terms for the components; determining, by the computer system, quality ratings for the components based on evaluation of the component information using one or more data models that correlate portions of the component information with one or more quality rating values, wherein the quality ratings indicate probabilities that the components will need to be replaced or repaired within a threshold period of time; determining, by the computer system, one or more overall quality ratings for the building based on one or more combinations of the quality ratings for the components in the building; and providing, by the computer system and to the client computing device, the one or more overall quality ratings for the building.

Such a method can optionally include one or more of the following features. The request for information can include one or more building identifiers. The request for information can include search criteria for identifying the one or more buildings. The search criteria can include information designating one or more of: a geographic search area, a building price, a range of building prices, a building size, a range of building sizes, a number of rooms, a range of room numbers, and a building type. Identifying the one or more buildings can include querying a real estate information system. Accessing component information can include querying a building data system to receive information associated with particular instances of the components installed in the building. The received information can identify ages of the components, warranty information for the components, and records of services performed on the components. The one or more data models can incorporate other component information associated with other instances of the components installed at a plurality of other buildings, the other component information including a record of services performed on the other instances of the components at the plurality of other buildings.

The quality ratings for the components can be determined based at least in part on the other component information associated with other instances of the components. The quality ratings for the components can be determined based at least in part on information received from one or more manufacturer data systems. The quality ratings for the components can be determined based at least in part on expected lifespans of the components. Determining the quality ratings can include, for each of the components, comparing the age of the component with the expected lifespan for the component. Each of the one or more overall quality ratings can include a component maintenance quality rating that is determined based on a comparison of service records for the components to suggested maintenance schedules for the components. Determining the quality ratings can include, for each of the components, determining a frequency of service issues associated with the component. Determining the quality ratings can include, for each of the components, determining whether the component is currently covered by at least one warranty. Determining the quality ratings can include, for each of the components, receiving performance reporting information from the component.

The computer-implemented method can further include determining, by the computer system and for each building, a composite quality rating for the building, including aggregating the one or more overall quality ratings, and providing the composite quality rating to the client computing device. The one or more overall quality ratings can include a plurality of overall quality ratings that correspond to a plurality of component systems within the building. The composite quality rating can include a composite maintenance quality rating.

Other embodiments of these aspects include corresponding apparatus and computer programs recorded on one or more computer storage devices, configured to perform the actions of the methods. A system of one or more computers can be configured to perform particular operations or actions by virtue of having software, firmware, hardware, or a combination of them installed on the system that in operation causes or cause the system to perform the actions. One or more computer programs can be configured to perform particular operations or actions by virtue of including instructions that, when executed by data processing apparatus, cause the apparatus to perform the actions.

The details of one or more implementations are depicted in the associated drawings and the description thereof below. Certain implementations may provide one or more advantages. For example, the disclosed technology can help solve the technical problem of compiling building data and building component data from various sources (e.g., builders, contractors, vendors, manufacturers, owners) and aggregating the data to generate quality ratings that can help users easily assess whether aspects of a building are good, bad, or neutral. For example, a user can be provided with a greater understanding of a building's condition, which can help the user more accurately value the building. In particular, the ratings that are provided to the user can provide a high level overview of whether the components in the building, which may be costly to repair and/or replace in the future, are in good condition. As another example, building owners can review quality ratings so that they can proactively correct any information that is inaccurate and so that they can maintain a top rating for their property.

In another example, component-based building assessments can provide technical solutions to the technical problem of how to combine disparate data records (e.g., varied data types, varied data formats, varied data values) for different types of components within a building. For example, data on plumbing components can be formatted differently and can have different values than data on roofing components installed in a building. Component-based building assessments can normalize the disparate data records to provide a standardized data format that permits combination into a comprehensive building assessment.

In a further example, component-based building assessments can also provide technical solutions to the technical problem of how to differentiate between significant and insignificant data points when determining quality for a building. For example, each building can have a large amount of associated component data that includes information not only identifying the components but also the service history for the components. Technically, it may be difficult to differentiate between data records that are more significant indicators of quality and other records that are less significant indicators of quality. Component-based building assessments can use various computer-implemented techniques (e.g., machine learning techniques) to leverage the performance history of components across a collection of buildings to identify and highlight data records providing a better indication of quality, which can be weighted more than less significant data records when determining a high-level building quality assessment.

Other features, objects, and advantages of the technology described in this document will be apparent from the description and the drawings, and from the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a conceptual diagram of an example system for providing property information and ratings.

FIG. 2 is a conceptual diagram of an example system for providing features for managing one or more properties.

FIG. 3 is a diagram of an example system for generating and providing property information and ratings.

FIGS. 4A-B is a flowchart of an example technique for generating and providing property information and ratings through a request for component information.

FIG. 5 is a diagram of an example workflow for an entity with multiple different departments that are used by the entity to schedule and provide services to customers.

FIG. 6 is an architectural diagram of a mobile application and supporting backend system for field service providers, such as builders, contractors, vendors, and other service providers.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

FIG. 1 is a conceptual diagram of an example computer system 100 for providing property information and ratings. The system 100 can be programmed to provide users with information about the components within properties (e.g., age of the components, current warranty coverage and history for the components, maintenance records) and to provide one or more ratings to indicate the quality of properties to users.

For example, when a user is looking at real estate listings, in general the user is only given basic information about buildings, such as the number of square feet, bedrooms, bathrooms, types of components (e.g., forced air vs. radiant heat, electric vs. gas stove top), and pictures of the buildings. However, this information may not provide a complete picture of buildings, especially when evaluating asking prices. For instance, a property that has components (e.g., heating, air conditioning, appliances, fire suppression system) that are old, have not been properly maintained, and that are not covered by any sort of warranty plan would likely be valued at a much lower price point than if the same property had new components that have been properly maintained and that are still under warranty. The technology disclosed with regard to system 100 provides more detailed information and qualitative ratings about properties so that users can more accurately evaluate and value buildings, such as properties displayed in real estate listing websites (e.g., ZILLOW, TRULIA, THE MLS ONLINE).

The example system 100 includes a computer system 102 (e.g., computer server system, cloud-based computing system, desktop computer, laptop computer, tablet computing device, smartphone) that stores and uses information about buildings and their components to assist users with issues related to property assessment. For example, the computer system 102 can include one or more of: a building issue computer system 104, a building data system 106, and a real estate system 108.

The example building issue computer system 104 can be programmed to obtain building information, to assist users in triaging building issues, to facilitate service and warranty calls to resolve building issues, and to store and maintain current information about buildings (e.g., components installed in a building, service history, warranty coverage). For example, builders, contractors, vendors, and/or other users can transmit, using computing devices (e.g., desktop computer, tablet computing device, smartphone, laptop, wearable computing device), information about the buildings (e.g., newly constructed homes, existing homes, commercial buildings) to the computer system 104. The computer system 104 can provide one or more interfaces through which the builders, contractors, vendors, and/or other users can transmit the information, such as webpages and/or mobile applications. The interfaces can include any of a variety of features that can help facilitate entering and transmitting the information, such as importing information from bills of materials, optically scanning barcodes of components, using near field communication (NFC) devices (e.g., RFID tags) to obtain information about the components, and/or other data sources and/or devices that can reduce manual entry of the information. The information that is transmitted to the computer system 104 can include, for example, component information and warranty information. The component information can include information that identifies the components in a building, such as make and model information, serial numbers, other unique identifiers (e.g., barcodes) for the components, and/or information about how and/or by whom the component was installed/serviced/repaired. The warranty information can include information that identifies warranties for the components, such as a warranty provider, terms and conditions on the warranty, warranty periods, authorized parties for servicing the warranty, and/or warranty renewal information.

The component and warranty information that is transmitted to the computer system 104 can be transmitted by one or more parties. For example, subcontractors working under the direction of a general contractor constructing buildings can each individually transmit appropriate information for the portion of the buildings that they have constructed, serviced, or otherwise worked on. In another example, such a general contractor may itself submit all of the information for buildings. Submissions of information may occur over time for buildings (e.g., as different stages of construction/installation are completed, as different services/repairs are performed) or all at once (e.g., upon completion of the construction of a building).

The computer system 104 (e.g., computer server system, cloud-based computing system, desktop computer, laptop computer, tablet computing device, smartphone) can receive the component and warranty information that is transmitted by the builders, contractors, vendors, and/or other users and can store the building information. For example, the computer system 104 can store the information in one or more data repositories (e.g., databases, file systems), such as the example building data system 106. For instance, the building data system 106 can include building information and can include one or more data sources, such as data repositories (e.g., databases, file systems) for building data, entity data, owner data, and/or other appropriate data repositories. A building data repository, for example, can store information regarding a building, such as information about the building (e.g., address, type of building, date of construction, unique identifier for the building), information about components of the building (e.g., component information, warranty information), and/or other appropriate information. An entity data repository, for example, can store information about entities (e.g., builders, contractors, and vendors) associated with the building, such as contact information for the entity (e.g., name, telephone number, fax number, email address, unique identifier for the entity), information identifying specialties and other ways in which the entities are associated with buildings and their components (e.g., builder, installer, manufacturer, warranty provider, insurer), account information for the entities (e.g., username, password), and other appropriate information. An owner data repository, for example, can include a variety of information about an owner of the building, such as the owner's name and contact information, buildings that the owner is associated with, account information (e.g., username, password), and other appropriate information for the owner. The information that is stored in the building data system 106 can be populated by one or more other systems, such as the building issue system 104, the real estate system 108, and/or by others (e.g., real estate companies, property management companies, property owners, tenants, service providers).

Once stored, the computer system 104 can maintain and manage the component information and the warranty information, such as part a subscription service that is offered over a period of time or for perpetuity on behalf of the builders, contractors, vendors, and/or other users who built buildings and/or installed/repaired components in the buildings. Such management can include providing owners with access to information about their buildings, such as component and warranty information. Additionally, the management can include providing owners with reminders about warranty periods, upcoming warranty expirations, obtaining quotes from one or more warranty providers for extended warranties, and/or facilitating the purchasing and management of extended warranties. Additionally, the computer system 104 can assist owners in triaging and resolving issues that may arise with buildings and/or the components in buildings.

Such services can be provided to owners (and/or builders, contractors, vendors and/or other parties) on one or more bases, such as through subscriptions to the services provided by the computer system 104. For example, a builder that builds a building (e.g., a new home) may cover the cost of a subscription to the service provided by the computer system 104 for the building for a period of time (e.g., 1 year, 3, years, 5 years, 10 years, 15 years) on the building owner's behalf and after that period of time, the owner may become responsible for the subscription fee. In another example, building owners may sign-up for the service provided by the computer system 104 on their own.

Regarding triaging issues that may arise with buildings and/or their components, owners can use their computing devices (e.g., laptop, tablet computing device, smartphone, wearable computing device) to transmit initial information about an issue with buildings. Such issues can include a variety of different things that may be malfunctioning or otherwise problematic with a building and/or its 106, such as breakage, leaks, items becoming discolored and/or wearing out, and/or appliances not functioning properly.

The computer system 104 can receive the information describing issues from owners and can, based on the information, identify one or more of the components as candidates for being a source of the issue. For example, an owner may indicate that they have noticed a water leak from the ceiling in a particular room in a building. The computer system 104 can reference the components that are installed in the building from the building data system 106 to identify possible components and/or systems that may be causing the water leak in the particular room. For instance, the computer system 104 can identify components of water systems within the building, such as domestic water systems (e.g., domestic water lines and components, waste water lines and components) and fire suppression systems (e.g., sprinkler systems and components) as candidate components that may be causing the example building issue (water leak).

The computer system 104 can transmit information (e.g., photos, videos, text, troubleshooting instructions) regarding the identified candidate components and associated warranties to user computing devices, which users can use to identify malfunctioning components and to initiate service repair and/or warranty claims for the components. The computer system 104 can act as an intermediary between building owners (and other users associated with buildings, such as renters, property management companies), service providers (e.g., contractors, service technicians), and warranty providers (e.g., manufacturers, insurers) to initiate repair and/or replacement of faulty components. This can involve the computer system 104 arranging appointments with appropriate service technicians, alerting service technicians to the specific nature of the issue (e.g., implicated component, urgency of issue), and/or processing payment for the repairs and/or replacement.

The computer system 104 can additionally store information regarding service requests, such as the date on which service was performed, the cause of the issue identified by a user as determined by service providers, components that were verified to be problematic, actions that were performed (e.g., test/diagnose issue, review product/training manual on issue, repair components) by the service provider to resolve the issue, costs for resolving the issue, the time it took to resolve the issue (e.g., time for the service provider to arrive at the building, time to resolve the issue once at the building), reviews of the service provider, and/or information identifying new components/parts that were installed in the building. Such information can be stored in one or more data repositories, such as in the building data system 106. This information can be combined with similar information from other service calls for the same or other buildings, and can be used to provide analytics to any of a variety of entities, such as to the builders, contractors, vendors, service providers, manufacturers, insurers and/or warranty providers, building owners/users, and/or to other parties/systems (e.g., real estate computer systems). For example, analytics can be provided to builders, contractors, and vendors indicating which components and systems building owners are having problems with, when the issues that are reported are a result of component malfunction/failure vs. user error, and/or the timeframe within which these issues are arising. Such information can be helpful to the builders, contractors, and vendors so as to better inform them of which components and systems to select for future projects, gaps in education of systems to building owners, and appropriately prices and lengths of time for warranties. Such analytics can be provided using any of a variety of appropriate techniques, such as machine learning techniques (e.g., neural networks, clustering, regressions, decision trees) that can identify correlations and associations across large data sets, such as correlations that can indicate that particular components are faulty. The data that is generated and stored by the computer system 104, and the analytics based on the data can also be used to provide component-based building assessments, as described throughout this document.

The example real estate system 108 can be any of a variety of appropriate computer systems to provide real estate information, such as frontend and/or backend computer systems that, by themselves or in combination with other computing systems, provide real estate information about properties (e.g., residential properties, commercial properties). For example, the real estate system 108 can be a frontend computer system that provides searchable real estate listing information for users, such as ZILLOW and TRULIA, and/or a backend computer system that provides real estate information to frontend systems, such as a computer system providing an IDX feed and/or an MLS database of property information.

The computer system 102 can include or be in communication with one or more of the systems 104-108 to provide building information and to determine building ratings. The computer system 102 can include its own frontend, such as a real estate frontend that includes searchable real estate listings that include property information and ratings. The computer system 102 can also provide building information and ratings to other computer systems that incorporate the building information and ratings into their frontend solution. For example, building information and ratings may be obtained and published by a separate real estate computer system.

The system 100 is depicted as including an example user computing device 110, which can be any of a variety of appropriate user computing devices (e.g., mobile computing device, desktop computer, laptop computer, tablet computer). The user computing device 110 can obtain building information and building ratings from the computer system 102, such as through communication over one or more networks (not shown), which can be any of a variety of appropriate communication networks, such as the internet, mobile data networks (e.g., 3G/4G mobile data networks), wireless networks (e.g., Wi-Fi networks, BLUETOOTH networks), local area networks (LANs), wide area networks (WANs), virtual private networks (VPNs), fiber optic networks, cellular networks, and/or any combination thereof. For example, the user computing device 110 can transmit a request for building information to the computer system 102, as indicated by step A (112). The request can include any of a variety of information, such as a specific building identifier (e.g., address, MLS property number), search criteria (e.g., geographic area for search, price information, building information, property rating criteria), and/or any other appropriate information.

In response to receiving the request, the computer system 102 can identify building components and status information, as indicated by step B (114). For example, the computer system 102 can use the real estate system 108 to correlate the request with specific properties (e.g., identify properties that satisfy the search criteria, to identify a property from a specified MLS number or other real estate identifier) and can retrieve the building components and status information from the building data system 106. The component information can include information that identifies specific components and systems that are installed within buildings, such as make and model information, serial numbers, other unique identifiers (e.g., barcodes) for the components, and/or information about how and/or by whom the component was installed/serviced/repaired. The status information can include records of maintenance and services performed on the components within the buildings, as well as warranty information for the components. The warranty information can include information that identifies warranties for the components, such as a warranty provider, terms and conditions on the warranty, warranty periods, authorized parties for servicing the warranty, and/or warranty renewal information.

The computer system 102 can use the component and status information to determine one or more ratings for each of the buildings, as indicated by step C (116). The component and status information can be voluminous, which may make it difficult for a user to make heads or tails about what it means. The ratings that are determined by the computer system 102 can provide one or more qualitative metrics that can indicate to users whether one or more aspects of the properties are good, bad, or neutral. For example, the computer system 102 can provide an overall rating for the building that indicates whether the components are in good condition, which may mean that the property should receive a higher valuation when compared with comparable properties, are in bad condition, which may mean that the property should receive a lower valuation when compared with comparable properties, or are in fair condition, which may mean that the property should receive a similar valuation when compared with comparable properties. The computer system 102 may also provide subparts to such an overall rating, such as a rating for the components and a rating for the maintenance performed on the components. Each of the individual components may also be rated. Other ratings are also possible.

The ratings can be determined by the computer system 102 using any of a variety of appropriate algorithms. For example, an overall rating for a property can be based on ratings for the components within the property and maintenance records for the components (e.g., an average of the component rating and the maintenance record, a weighted average of the component rating and the maintenance record). Component ratings can be based on a variety of factors, such as a comparison of the age of the component and the expected lifespan of the component (e.g., manufacturer estimated lifespan, historical record of component replacement), the number of issues for the particular component (e.g., normalized frequency of issues for the component), outstanding recalls for the component, and whether the component is currently covered under one or more warranties (e.g., manufacturer's warranty, extended warranty, service warranty). Component ratings can be provided along one or more normalized scales so that information on disparate and different components can be readily combined. For example, a property that has components that are all within their expected lifespan, that historically have had few issues, and that are currently covered by warranty can receive a highest/best rating (e.g., A rating on scale where A is the best and F is the worst). In contrast, a property that has components that are all past their expected lifespan, that have historically had many issues, and that are not currently covered by a warranty can receive the lowest/worst rating (e.g., F rating). Individual components can be rated and an aggregate component rating can be determined by combining the individual component ratings (e.g., average of component ratings, weighted average of component ratings).

Maintenance ratings can be based on a variety factors, such as whether suggested/recommended maintenance schedules (e.g., manufacturer's recommended maintenance schedule) were followed, the types of maintenance (e.g., annual checkup, repair of malfunctioning part) that was performed on the components, whether the components are under a maintenance or service contract, how recently the components were serviced, and/or other appropriate factors. An aggregate maintenance rating for a buildings can be determined based on a combination of the maintenance ratings for each individual component (e.g., average of component maintenance ratings, weighted average of component maintenance ratings). For example, a component for which service was performed with the recommended schedule and which was serviced within the past year may receive a highest/best rating (e.g., A rating), whereas a component that was never serviced can receive the worst/lowest rating (e.g., F rating).

Ratings can be determined based additionally on information that is transmitted by the components, such as data feeds that the components or computing devices associated with the properties transmit to external systems, such as the building issue system 104 and/or other computer systems (e.g., computer systems managing home automation). For example, an HVAC system may be able to provide data regarding its efficiency (e.g., fuel consumption required to raise temperature by one degree, fuel consumed per gross square foot per year) that can be used to determine the current quality/state of the HVAC system. Similarly, such an HVAC system may be able to automatically report when service/maintenance is performed, and when components are replaced or otherwise adjusted. Such information may also be used to determine ratings for components and buildings more generally. Data that is generated by an HVAC system and/or other components within a building, such as internet of things (“IoT”) components, can be obtained by and stored in the building data system 106 (e.g., received by the building issue computer system 104 and stored in the building data system 106) and can be used by the computer system 102 in combination with or alternatively from the data generated by the building issue computer system 104 to determine component-based building assessments.

Ratings can additionally and/or alternatively be generated by the computer system 102 using one or more computer-based techniques to generate inferences as to building component quality based on disparate bits of information. For example, the computer system 102 can use one or more machine learning algorithms (e.g., neural networks, clustering, decision trees) to determine correlations between data that can indicate the quality of components presently and/or in the future, and to identify data correlations that are not indicators of component quality. Such machine learning algorithms can be run across data for each individual building, for groups of buildings (e.g., buildings located in the same geographical region, buildings governed by one or more similar building codes), and/or for all buildings to generate multiple different data models correlating component data (as described above) to differing levels of quality. Component-based ratings for a building can be generated using one or more models (e.g., individual building models, group-based building models, models for all buildings, models for different types of components (e.g., electrical component models, appliance component models), manufacturer/service provider-specific models for manufacturers and/or service providers who manufactured and/or installed/serviced components), the results of which may be compared against each other and/or combined to provide component-based ratings for buildings. For instance, the results from multiple different models can be combined by weighting each result based on the number of data points that were used to generate the model (e.g., larger number of data points can indicate more reliable model) and combining the weighted results (e.g., average, weighted average, median value, aggregate value).

For example, a particular component may be problematic in certain instances while operating without a problem in other instances. Machine learning algorithms can be used to generate data models that can identify data points that identify circumstances (e.g., geographic region of building (climate), other installed components, history of service requests for component, history of particular service requests) indicating that a particular component is likely to be problematic and other data points that indicate other circumstances indicating that the particular component is not likely to be problematic. For instance, a machine learning algorithm may be able to tease out a pattern of service requests that indicate that a component is likely to fail in the near future (e.g., particular installed component has low quality), whereas the absence of such a pattern can indicate that the component will maintain good operating condition for near future.

With the ratings determined, the computer system 102 can provide component/status information and rating(s) for the specific property or properties that are associated with the request to the user computing device 110, as indicated by step D (118). The user computing device 110 can receive and output the information and ratings, as indicated by step E (120). The information can be output in any of a variety of appropriate ways, such as visually (e.g., on a display), audibly (e.g., via a speaker), or any combination thereof. The information can be output by output devices that are part of the device 110 (e.g., display and/or speakers of the device 110) or by other output devices that are in communication with the device 110 (e.g., display and/or speakers that are connected to the device 110 via BLUETOOTH).

An example user interface 122 that can be output by the device 110 is depicted. In this example, the user interface 122 includes general information 124 about an example property (address—123 Main St.; number of bedrooms and bathrooms, and age of the building), overall rating information 126 for the property (e.g., rating of B for the property), component rating information 128 for the property (e.g., rating of C for the components), and maintenance rating information 130 for the property (e.g., rating of A for the maintenance). The example overall rating information 126 is a B, which is described as indicating that maintenance was generally performed according to the schedule, but that some components may currently or in the near future be in need of repair or replacement. The example component rating information 128 is a C, which in this example is based on two components (HVAC and water heater) either being at or past their expected lifetime. The example maintenance rating information 130 is A, which in this example is based on maintenance for the components being performed each on a yearly basis.

Rating information provided by the computer system 102 and/or the user interface 122 may be used in various ways and may provide a variety of benefits. For example, the user interface 122 can provide a user with a greater understanding of the condition of the example property, which can help the user more accurately value the property. In particular, the ratings that are provided to the user can provide a high level overview of whether the components in the property, which may be costly to repair and/or replace in the future, are in good condition. As another example, property owners can subscribe to a feed from the computer system 102 regarding their properties so that they can correct any information that is inaccurate and so that they can receive suggestions as to how to maintain a top rating for their property. For instance, a property owner can receive notifications that maintenance on their HVAC system is suggested within the next 2 months.

The computer system 102 can also provide a variety of other features. For example, the computer system 102 can integrate some or all of the information that is used into a CRM system. The computer system 102 can additionally automate lists of tasks for the completion of projects related to properties, such as lists of repairs to be performed prior to listing the house. Additionally, interfaces can be provided through which users can provide their consent/sign for various tasks being performed on properties.

FIG. 2 is a conceptual diagram of an example system 200 for providing features for managing one or more properties. In some implementations, the example system 200 can be incorporated with and/or be part of the example system 100. The example system 200 provides a variety of features for property managers to use to better manage one or more properties, such as rental properties (e.g., residential properties, commercial properties). For example, the system 200 can provide features through which payments from tenants can be tracked, through which building issues can be triaged and resolved, and through which analytics on tenants can be provided.

The system 200 is depicted as including an example computer system 202, which can be similar to, the same as, or used in combination with the other computer systems and computing devices described throughout this document. For example, the computer system 202 can include a building issue system 204 (e.g., similar to the building issue system 104), a building data system 206 (e.g., similar to the building data system 106), a tenant data system 208 that can log information about tenants over time and across multiple different properties (e.g., payment history, maintenance history, property damage history, deposit history), and an electronic payment system 210 that can process electronic payment information (e.g., credit card payments, EFT payments, bitcoin payments). Each of these systems 204-210 can be part of and/or can be in communication with the computer system 202 to provide the property management features described.

The computer system 202 can provide property payment features, as indicated by the computer system 202 providing payment information to a property manager computing device 212, as indicated by step A (214). The property manager computing device 212 can be any of a variety of appropriate computing devices, such as the computing devices described throughout this document (e.g., mobile computing device, desktop computer, laptop computer, tablet computer). The property payment features can include information that indicates a current payment status for one or more properties that a user (performing the role of a property manager) is managing. For instance, an example user interface 216 is depicted for a user who is managing properties A-D. As depicted in the interface 216, property A has been paid for the current period, the payment for property B has not yet been paid but is not due for another week, the payment for property C is past due, and property D does not currently have a tenant. The interface 216 includes a user interface feature 218 (e.g., button) that a user can select (e.g., touch on a touchscreen, click via a mouse, verbal command) to send a reminder (e.g., email message, text message) or to otherwise initiate contact (e.g., initiate phone call) with to the tenant at property B.

The computer system 202 can also provide building issue and servicing features, as indicated by step B (220). The building issues and servicing can include building issue triaging, such as identifying possible problems with the component that may be causing a problem and a range of potential solutions, which may include repairing or replacing the component as well as related components. The triaging can also include determining an appropriate timeframe to resolve the issue, which can be determined based on a level of urgency/severity of the issue as well as other risks associated with the issue. The triaging can further include identifying candidate parties to resolve the issue within the appropriate timeframe. Such candidate parties may be parties (e.g., companies, individual workers, contractors) who are preapproved to service the issue under one or more warranties that are covering components that are likely the source of the issue, such as parties who manufactured and/or installed the components. The triaging can further include identifying one or more actions that can be taken to mitigate further damage and/or risk from the issue before a service technician or other appropriate party is able to respond to and resolve the issue.

The user can be provided with a user interface 222 across which the user can manage and resolve building issues for multiple properties, which in this example are properties A-D. For example, the example property A does not have any current issues, the example property B has a leaky pipe that has been reported, the example property C has an annual HVAC service currently scheduled, and the example property D does not have any current issues. For the example issue with property B, features that are described and depicted above with regard to building issues, triaging, and servicing them can be included as part of the interface 222. As depicted in the example interface 222, the user can be presented with information that indicates whether the issue is currently covered by a warranty or service plan, and can include a selectable feature 224 through which the user can obtain estimates for and can schedule servicing of the issue.

The computer system 202 can also provide tenant analytics information, as indicated by step C (226). Tenant analytics can include analytics about current and/or prospective tenants, including information that indicates whether the tenant has previously, is currently, and/or is likely in the future to take good care of the property (e.g., not damage the property beyond normal wear and tear, promptly report issues that arise with the property, take steps to mitigate any damage that may be caused to the property, perform some servicing of issues on his/her own). The tenant analytics can be used to determine whether any changes in a tenant's rent are needed, such as to incentivize a good tenant to stay longer, to cover new damage that a tenant is likely to cause, and/or to appropriately price the risk associated with a new tenant. The tenant analytics can be based on a variety of information, such as building issues that have been reported at properties the tenant had possession of when the issues arose, payment history, and/or other records for the tenant, such as property owner reports regarding other damage caused by the tenant.

An example user interface 228 for presenting the tenant analytics is presented. For instance, the tenant at property A is indicated as not performing or requesting maintenance when needed and a suggestion is provided to increase the rent for that tenant because of the potential risk for damage caused by the tenant's negligence. The tenant at property B is indicated as performing maintenance when appropriate, and a suggestion is provided to lower the rent for tenant B. A suggestion is also provided to not change the rent for the tenant at property C. Ratings for two candidate tenants for property D are provided (candidate 1 has a ‘C’ rating and candidate 2 has a ‘B’ rating). Such ratings for candidate tenants can be based on the factors described above.

Other property management features not explicitly described can also be provided by the computer system 202.

The example ratings described with regard to FIGS. 1-2 have a range of A-F. Other ranges and systems of ratings can also be used, such as numerical ratings along a scale (e.g., 1-5, 1-10, 1-100) and/or other appropriate rating systems (e.g., enumerated ratings: Very good, good, neutral, bad, very bad).

FIG. 3 is a diagram of an example system 300 for generating and providing building information and ratings. The example system 300 includes an example computer system 302, an example user computing device 304, an example builder/contractor computing device 306, an example real estate computing device 308, and an example network 310. The computer system 302 can be similar to the computer system 102 described above with regard to FIG. 1 and the computer system 202 described above with regard to FIG. 2, and can generate and provide building information and ratings. The user computing device 304 can be similar to the computing device 110 described above with regard to FIG. 1 and the computing device 212 described above with regard to FIG. 2, and can be used by users and/or property managers to request and present building information and ratings. The builder/contractor computing device 306 can be similar to (or a component of) the building issue system 104 and/or the building data system 106 described above with regard to FIG. 1 and the building issue system 204 and/or the building data system 206 described above with regard to FIG. 2, and can be used by builders, contractors, and vendors (or others who install components within buildings) to provide details about components and systems that are installed within buildings. The real estate computing device 308 can be similar to (or a component of) the real estate system 108 described above with regard to FIG. 1 and the tenant data system 208 described above with regard to FIG. 2, and can be used to provide real estate information about properties and to receive property ratings.

The computer system 302 can be any of a variety of appropriate systems including one or more computing devices, such as computer servers, desktop computers, laptop computers, mobile computing devices, cloud computing systems, and/or other appropriate computing devices/systems. The computing devices 304-308 can be any of a variety of appropriate mobile computing devices, such as smartphones (e.g., IPHONE, ANDROID smartphones), cell phones (e.g., feature phones), tablet computing devices (e.g., IPADs, ANDROID tablets), personal digital assistants (PDAs), computing devices embedded within vehicles (e.g., in-vehicle computer systems with displays and/or user interfaces built into the vehicles' consoles, vehicle mounted computing devices, golf carts with embedded computing devices), wearable computing devices (e.g., GOOGLE GLASS), laptop computers, netbook computers, and/or other appropriate mobile computing devices. The computer system 302 and the computing devices 304-308 can communicate with each other over the network 310, which can be any of a variety of appropriate communication networks, such as the internet, mobile data networks (e.g., 3G/4G mobile data networks), wireless networks (e.g., Wi-Fi networks, BLUETOOTH networks), local area networks (LANs), wide area networks (WANs), virtual private networks (VPNs), fiber optic networks, cellular networks, and/or any combination thereof.

The computer system 302 is depicted as including a frontend 312 that receives, processes, and responds to requests from client devices, such as the computing devices 304-308. The frontend 312 can include one or more processes that receive communications over the network 310 on one or more network ports, such as a webserver process and/or a mobile application backend process.

The computer system 302 further includes a building information module 314 that is configured to obtain building information from client computing devices, such as the builder/contractor computing device 306 and the real estate computing device 308, and to store the information in one or more data repositories 324 a-d, such a building data repository 324 a that stores information regarding buildings, such as information about a building (e.g., address, type of building, date of construction, unique identifier for the building), information about components of the building (e.g., component information, warranty information), and/or other appropriate information.

The builder/contractor computing device 306 can obtain and provide such building information to the building information module 314 over the network 310 through the use of its input subsystem 326, its output subsystem 328, and the one or more applications 330 that are installed on the device 306, such as a component and warranty application 332. The input subsystem 326 can include one or more appropriate input devices through which a user of the device 306 can provide input, such as a touchscreen, physical buttons/keys, microphones, cameras, and/or other appropriate input devices (e.g., accelerometers, gyroscopes). The output subsystem 328 can include one or more appropriate output devices through which information can be provided to a user, such as a display, speakers, haptic feedback devices (e.g., vibration device), and/or other devices that are in communication with the device 306 (e.g., wireless headset). The applications 330 can be of any of a variety of appropriate types, such as software (e.g., mobile app), hardware (e.g., application specific integrated circuit (ASIC)), and/or firmware. The component and warranty application 332 can be programmed to obtain information about components that have been installed in buildings through, for example, the input subsystem 326 (e.g., bar code scan using a camera, typed input) and/or data sources (e.g., document including a bill of materials) that are accessible to the device 306, and to transmit such information to the computer system 302 over the network 310.

The computer system 302 further includes a building issue module 316 that is programmed to triage building issues that are raised by users. The building issue module 316 is programmed to receive information associated with issues that are identified by users, and components that are installed in the buildings that are associated with the issues (e.g., through referencing the building data repository 324 a and owner data 324 c).

The computer system 302 further includes a warranty module 318 that is programmed to determine whether building issues and components that are associated therewith are covered under one or more warranties, such as a manufacturer's warranty. The warranty module 318 can be used by the computer system 302 to identify which entity is financially responsible for resolving building issues.

The computer system 302 further includes a service request manager 320 that is programmed to facilitate and manage service requests that are used to resolve building issues that are raised by users, such as by communicating with service providers, warranty providers, and/or insurers. The service request manager 320 includes several subcomponents 322 a-c, including a bidding module 322 a that is configured to solicit and manage bidding processes for service requests, a payment processor 322 b that is configured to identify and bill appropriate entities (e.g., building owner, warranty provider, insurer) for work performed, and a communication module 322 c that is configured to manage communication with entities associated with service requests.

The computer system 302 further includes a quality rating manager 340 that is programmed to provide quality ratings for properties (e.g., buildings), components of the properties, maintenance performed on the components, and other appropriate ratings. The quality rating manager includes several subcomponents 242 a-c, including a component information module 342 a that is configured to request and receive information associated with buildings and building components, including a record of services performed on the components; a quality ratings generator 342 b that is configured to process the component information and to perform various algorithms for generating ratings that include qualitative metrics that can indicate to users whether one or more aspects of the properties are good, bad, or neutral; and a communications module 342 c that is configured to manage communication with computing devices (e.g., the computing devices 304-308) that provide building and component information and that receive quality rating information.

The computer system 302 can use one or more data sources 324 a-d, such as a building data source 324 a that can store information about buildings (e.g., component information), a contractor data source 324 b that can store information about contractors/builders/vendors/service providers, an owner data source 324 c that can store information about building owners, and a service request data source 324 d that can store and log information about both completed and pending service requests.

The user computing device 304 can provide requests for quality ratings to the computer system 302 and can receive quality ratings from the computer system 302 through the use of an input subsystem 346 (can be similar to the input subsystem 326), an output subsystem 348 (can be similar to the output subsystem 228), and one or more applications 350 that are installed on the device 304, such as a quality ratings request application 352. Similar to the applications 330, the applications 350 can be implemented on the device 304 as software, hardware, and/or firmware. The quality ratings request application 352 can provide building identifiers and/or search criteria for identifying buildings, and can receive corresponding quality ratings associated with the building(s) and its components.

Like the user computing device 304, the real estate computing device 308 can provide requests for quality ratings to the computer system 302 and can receive quality ratings from the computer system 302 through the use of an input subsystem 356 (can be similar to the input subsystem 326), an output subsystem 358 (can be similar to the output subsystem 228), and one or more applications 360 that are installed on the device 308, such as a quality ratings request application 362 (can be similar to the quality ratings request application 352). Similar to the applications 330, the applications 360 can be implemented on the device 308 as software, hardware, and/or firmware. The quality ratings request application 362 can provide building identifiers for which quality ratings are requested, and can receive corresponding quality ratings information associated with the building(s) and its components. Received quality ratings information can be provided by the real estate computing device 308 along with real estate listings, for example. The frontend 364 can receive, process, and respond to requests (e.g., including search criteria for buildings) from client devices, such as the computing device 304. The frontend 364 can include one or more processes that receive communications over the network 310 on one or more network ports, such as a webserver process and/or a mobile application backend process.

FIGS. 4A-B is a flowchart of an example technique 400 for generating and providing property information and ratings through a request for component information. The example technique 400 is depicted as being performed by a client computing device 402, a computer system 404, a real estate system 406, and a building data system 408. The client computing device 402 can be any of a variety of appropriate computing devices, such as the computing device 110, 212, and/or 304. The computer system 404 can be a variety of appropriate computer systems, such as the computer system 102, 202, and/or 302. The real estate system 406 can be (or include) any of a variety of appropriate computing systems/devices, such as the real estate computing device 308. The building data system can be (or include) any of a variety of appropriate computing systems/devices, such as the building/contractor computing device 306.

The computer system 404 can receive various requests for building information, such as quality ratings for one or more buildings, quality ratings for one or more components, and quality ratings for maintenance performed at the properties and/or on the components. For example, the client computing device 402 can provide a request for component information for one or more buildings (410 a). As another example, the real estate system 406 can provide a request for component information for one or more buildings (410 b). The computer system 404 can receive the request (e.g., the request provided at 410 a, the request provided at 412 b) for information related to components of one or more buildings (412). In some implementations, the request may include one or more building identifiers. For example, the request can include a unique identifier (e.g., MLS property number), an address, a geolocation, or another appropriate building identifier. In some implementations, the request for information may include search criteria for identifying one or more buildings. For example, the request can include search criteria (e.g., geographic area for search, price information, building information (e.g., size, number of rooms, type), property rating criteria) for buildings, and/or any other appropriate information for identifying buildings.

The computer system 404 can identify one or more buildings responsive to the request. For example, in response to receiving one or more building identifiers, the computer system 404 can access a building data system (e.g., the building data system 106 described above with regard to FIG. 1, the building data system 206 described above with regard to FIG. 2, the building data repository 324 a described above with regard to FIG. 3) to identify the building(s). As another example, the computer system 404 can use search criteria (e.g., the search criteria received at 412) to query a real estate information system that is included with and/or external to the computer system 404 to access one or more building identifiers. For example, the computer system 404 can provide building identification parameters (e.g., search criteria) to the real estate system 406 (414), and the real estate system 406 can receive the building identification parameters (416). Using the received building identification parameters, the real estate system 406 can identify one or more matching buildings (e.g., buildings that have attributes that match the search criteria), and can provide identifiers corresponding to the matching buildings to the computer system 404 (418), which can receive the building identifiers (420).

The computer system 404 can request component information for each identified building (422). For example, the computer system 404 can provide a request for component information to the building data system 408, which receives the request (424) and compiles and provides information for one or more components of the identified building(s) (426). To compile and provide component information, the building data system 408 can access various data sources, including records of maintenance and services performed on the components (428), warranty information for the components (430), and other appropriate sources of data (e.g., IoT data). The building data system 408 can provide component information for the identified buildings to the computer system 404, which receives the component information for each identified building (432). The received information for a particular instance of a component of a particular building (e.g., the building's hot water heater) can include an age of the component, warranty information for the component, and a record of services performed on the component at the building.

In addition to compiling and providing information for particular instances of one or more components of the identified building(s), the building data system 408 can compile and provide aggregated information for component models (e.g., a hot water heater model) of components of the identified building(s) (434). To compile and provide aggregated component model information, the building data system 408 can access various data sources, including records of maintenance and services performed on components at multiple different buildings (436), and other appropriate sources of data (e.g., IoT data). The building data system 408 can provide aggregated component model information for components of the identified buildings to the computer system 404, which can receive the aggregated component model information for each component of each identified building (438).

The computer system 404 can determine an overall reliability of each component (440). The overall reliability can be based at least in part on aggregated information for a component model (e.g., e.g., the aggregated information received at 438), including service records and/or warranty information related to the component at multiple different buildings. Reliability can additionally and/or alternatively be determined based on one or more data models and/or machine learning algorithms, as discussed above. The received aggregated component model information can be used to generate various statistics for a component model, such as expected lifespan of the component model, reliability of the component model, average cost to repair the component model, and other appropriate statistics. In some implementations, the overall reliability of each component may be determined at least in part on information received from a manufacturer data system (not shown). For example, a manufacturer of a component model can maintain and provide statistics related to expected lifespan of the component model, reliability of the component model, average cost to repair the component model, and other appropriate statistics.

The computer system 404 can determine component quality ratings, based on the component information and the overall reliability of each component (442). In general, component quality ratings can be based on a variety of factors. Each factor of a quality rating can be scored (e.g., scored along one or more normalized ranges of values), for example, and the factor scores can be combined (e.g., averaged, weighted average, median value) to determine a composite score that can be used to generate the quality rating, as discussed above. Factors and/or techniques for generating quality ratings may include comparing an age of a component with an expected lifespan of the component, determining a frequency of service issues associated with the component, determining whether the component is currently covered by a warranty, receiving performance reporting information from the component, and other appropriate factors and/or techniques. Component quality ratings can include a component overall quality rating and a component maintenance quality rating. The component maintenance quality rating can be based on a comparison of a record of services performed on a component at a building to a suggested maintenance schedule for the component. Further, a composite quality rating can be determined for a building. To determine the composite quality rating, for example, component quality ratings for the building can be combined (e.g., averaged, weighted). The composite quality rating can include a composite overall quality rating and a composite maintenance quality rating. Quality ratings (e.g., component quality ratings, component maintenance quality ratings, composite quality ratings) can be provided by the computer system 404 to a system/device (444) that has requested the ratings (e.g., the client computing device 402, at 446 a, the real estate system 406, at 446 b).

FIG. 5 is a diagram of an example workflow 500 for an entity with multiple different departments that are used by the entity to schedule and provide services to customers. The operations that are part of the example workflow 500 are depicted as being performed by a customer 502, a front office 504, a back office 506, operations 508, and finance 510. The front office 504, the back office 506, the operations 508, and finance 510 can all be different departments/groups/roles within an organization, such as a contractor/builder/service provider.

The operations that are performed by the customer 502 can be performed on a computing device that is associated with the customer 502, such as the computing device 110, the computing device 212, the computing device 304, and/or the computing device 402.

The operations that are performed across 504-510 can all be performed on the same computing device or across multiple different computing devices, which may each have separate application (e.g., mobile apps, desktop applications) with specific functionality needed for each role. For example, the operations of the front office 504 can be performed by salesmen and customer service representatives using specifically designed applications to perform the operations listed for the front office 504, such as creating service requests that will be fulfilled by operations 508. Operations 508 can use an application, which may be the same as or different from the application for the front office 504, to direct their execution of service requests and other associated tasks. The back office 506 can be responsible overseeing and managing both the front office 504 and the operations 508, and can use applications (same or different from applications used by the front office 504 and operations 508) to perform scheduling and service agreement operations. The finance 510 can additionally use an application (same or different from the applications used by others) to manage money flow and accounting within the entity.

The applications that are used by 504-510 can be run on any of a variety of appropriate computing devices, such as computing devices 306, 308, 406 and/or 408.

FIG. 6 is an architectural diagram 600 of a mobile application and supporting backend system for field service providers, such as builders, contractors, vendors, and other service providers.

The mobile application (e.g., IPAD app) depicted in the diagram 600 can provide a variety of features that are used by field service providers, such as scheduling and dispatch of workers (e.g., field service providers), route optimization for workers responding to service requests, warranty management, inventory and parts logistics for components that are used in service requests and new installations, offline access to all resources, and a document repository (e.g., work orders, training documents). The mobile application can be provided on any of a variety of appropriate computing devices, such as the computing devices 306, 308, 406 and/or 408.

The supporting backend system can include a middleware layer that provides database support and web services that are used by the mobile application, such as services that are provided through one or more appropriate data sources (e.g., customer resource management (CRM) systems, SAP systems, DMS systems). The backend system can additionally include a management console through which information about the performance and state of the backend system can be viewed. The supporting backend system can be provided by any of a variety of appropriate computer systems, such as the computer systems 102, 202, 302 and 404.

A variety of additional features can be used in combination with the technology described throughout this document. For example, data used for the systems, techniques, and user interfaces described above with regard to FIGS. 1-6 (e.g., building data, contractor data, real estate data, service/repair data, warranty data) can be used to determine energy ratings for buildings (e.g., homes, office buildings) and/or the actual components installed within a building (e.g., particular HVAC components, types of insulation). Computer-implemented techniques can use information describing building configurations (e.g., the blueprints of a building), energy information (e.g., energy inspection/audit reports, energy consumption information (e.g., energy bills, building component energy consumption information)), and/or component information (e.g., make/model of component, location where installed, energy rating, warranty information, maintenance data) to determine one or more energy metrics (e.g., energy rating, energy efficiency, energy conservation improvement rating) for the building and/or components within the building.

Such energy metrics can additionally be combined with the various systems, techniques, and/or user interfaces described with regard to FIGS. 1-6, such as through providing an energy efficiency/rating metric with real estate listings as part of the system 100 and the real estate system 108. For instance, the example user interface 122 can additionally include an energy rating for the property 124 (e.g., overall energy rating for the property, building's energy efficiency when compared to energy efficiency if building were constructed to minimum permitted level of energy efficiency (e.g., code for building), comparison of energy efficiency relative to other similar buildings in surrounding area), along with energy ratings for the specific components 128 that are listed (e.g., projected energy ratings for the components, actual energy efficiency of the components), and energy ratings for the particular maintenance 130 (e.g., maintenance installing component with better/worse energy efficiency, results of maintenance on energy efficiency).

Such energy rating information can be provided in real time to building owners/tenants, energy companies, and/or other interested/permitted parties (e.g., third parties who are granted permission to view energy information for a building, such as realtors and potential purchasers for a building with a real estate listing).

Computing devices and computer systems described in this document that may be used to implement the systems, techniques, machines, and/or apparatuses can operate as clients and/or servers, and can include one or more of a variety of appropriate computing devices, such as laptops, desktops, workstations, servers, blade servers, mainframes, mobile computing devices (e.g., PDAs, cellular telephones, smartphones, and/or other similar computing devices), computer storage devices (e.g., Universal Serial Bus (USB) flash drives, RFID storage devices, solid state hard drives, hard-disc storage devices), and/or other similar computing devices. For example, USB flash drives may store operating systems and other applications, and can include input/output components, such as wireless transmitters and/or USB connector that may be inserted into a USB port of another computing device.

Such computing devices may include one or more of the following components: processors, memory (e.g., random access memory (RAM) and/or other forms of volatile memory), storage devices (e.g., solid-state hard drive, hard disc drive, and/or other forms of non-volatile memory), high-speed interfaces connecting various components to each other (e.g., connecting one or more processors to memory and/or to high-speed expansion ports), and/or low speed interfaces connecting various components to each other (e.g., connecting one or more processors to a low speed bus and/or storage devices). Such components can be interconnected using various busses, and may be mounted across one or more motherboards that are communicatively connected to each other, or in other appropriate manners. In some implementations, computing devices can include pluralities of the components listed above, including a plurality of processors, a plurality of memories, a plurality of types of memories, a plurality of storage devices, and/or a plurality of buses. A plurality of computing devices can be connected to each other and can coordinate at least a portion of their computing resources to perform one or more operations, such as providing a multi-processor computer system, a computer server system, and/or a cloud-based computer system.

Processors can process instructions for execution within computing devices, including instructions stored in memory and/or on storage devices. Such processing of instructions can cause various operations to be performed, including causing visual, audible, and/or haptic information to be output by one or more input/output devices, such as a display that is configured to output graphical information, such as a graphical user interface (GUI). Processors can be implemented as a chipset of chips that include separate and/or multiple analog and digital processors. Processors may be implemented using any of a number of architectures, such as a CISC (Complex Instruction Set Computers) processor architecture, a RISC (Reduced Instruction Set Computer) processor architecture, and/or a MISC (Minimal Instruction Set Computer) processor architecture. Processors may provide, for example, coordination of other components computing devices, such as control of user interfaces, applications that are run by the devices, and wireless communication by the devices.

Memory can store information within computing devices, including instructions to be executed by one or more processors. Memory can include a volatile memory unit or units, such as synchronous RAM (e.g., double data rate synchronous dynamic random access memory (DDR SDRAM), DDR2 SDRAM, DDR3 SDRAM, DDR4 SDRAM), asynchronous RAM (e.g., fast page mode dynamic RAM (FPM DRAM), extended data out DRAM (EDO DRAM)), graphics RAM (e.g., graphics DDR4 (GDDR4), GDDR5). In some implementations, memory can include a non-volatile memory unit or units (e.g., flash memory). Memory can also be another form of computer-readable medium, such as magnetic and/or optical disks.

Storage devices can be capable of providing mass storage for computing devices and can include a computer-readable medium, such as a floppy disk device, a hard disk device, an optical disk device, a Microdrive, or a tape device, a flash memory or other similar solid state memory device, or an array of devices, including devices in a storage area network or other configurations. Computer program products can be tangibly embodied in an information carrier, such as memory, storage devices, cache memory within a processor, and/or other appropriate computer-readable medium. Computer program products may also contain instructions that, when executed by one or more computing devices, perform one or more methods or techniques, such as those described above.

High speed controllers can manage bandwidth-intensive operations for computing devices, while the low speed controllers can manage lower bandwidth-intensive operations. Such allocation of functions is exemplary only. In some implementations, a high-speed controller is coupled to memory, display 616 (e.g., through a graphics processor or accelerator), and to high-speed expansion ports, which may accept various expansion cards; and a low-speed controller is coupled to one or more storage devices and low-speed expansion ports, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet) that may be coupled to one or more input/output devices, such as keyboards, pointing devices (e.g., mouse, touchpad, track ball), printers, scanners, copiers, digital cameras, microphones, displays, haptic devices, and/or networking devices such as switches and/or routers (e.g., through a network adapter).

Displays may include any of a variety of appropriate display devices, such as TFT (Thin-Film-Transistor Liquid Crystal Display) displays, OLED (Organic Light Emitting Diode) displays, touchscreen devices, presence sensing display devices, and/or other appropriate display technology. Displays can be coupled to appropriate circuitry for driving the displays to output graphical and other information to a user.

Expansion memory may also be provided and connected to computing devices through one or more expansion interfaces, which may include, for example, a SIMM (Single In Line Memory Module) card interfaces. Such expansion memory may provide extra storage space for computing devices and/or may store applications or other information that is accessible by computing devices. For example, expansion memory may include instructions to carry out and/or supplement the techniques described above, and/or may include secure information (e.g., expansion memory may include a security module and may be programmed with instructions that permit secure use on a computing device).

Computing devices may communicate wirelessly through one or more communication interfaces, which may include digital signal processing circuitry when appropriate. Communication interfaces may provide for communications under various modes or protocols, such as GSM voice calls, messaging protocols (e.g., SMS, EMS, or MMS messaging), CDMA, TDMA, PDC, WCDMA, CDMA2000, GPRS, 4G protocols (e.g., 4G LTE), and/or other appropriate protocols. Such communication may occur, for example, through one or more radio-frequency transceivers. In addition, short-range communication may occur, such as using a Bluetooth, Wi-Fi, or other such transceivers. In addition, a GPS (Global Positioning System) receiver module may provide additional navigation- and location-related wireless data to computing devices, which may be used as appropriate by applications running on computing devices.

Computing devices may also communicate audibly using one or more audio codecs, which may receive spoken information from a user and convert it to usable digital information. Such audio codecs may additionally generate audible sound for a user, such as through one or more speakers that are part of or connected to a computing device. Such sound may include sound from voice telephone calls, may include recorded sound (e.g., voice messages, music files, etc.), and may also include sound generated by applications operating on computing devices.

Various implementations of the systems, devices, and techniques described here can be realized in digital electronic circuitry, integrated circuitry, specially designed ASICs (application specific integrated circuits), computer hardware, firmware, software, and/or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and/or interpretable on a programmable system including at least one programmable processor, which may be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.

These computer programs (also known as programs, software, software applications, or code) can include machine instructions for a programmable processor, and can be implemented in a high-level procedural and/or object-oriented programming language, and/or in assembly/machine language. As used herein, the terms “machine-readable medium” “computer-readable medium” refers to any computer program product, apparatus and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor.

To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having a display device (e.g., LCD display screen, LED display screen) for displaying information to users, a keyboard, and a pointing device (e.g., a mouse, a trackball, touchscreen) by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, and/or tactile feedback); and input from the user can be received in any form, including acoustic, speech, and/or tactile input.

The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), peer-to-peer networks (having ad-hoc or static members), grid computing infrastructures, and the Internet.

The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

The above description provides examples of some implementations. Other implementations that are not explicitly described above are also possible, such as implementations based on modifications and/or variations of the features described above. For example, the techniques described above may be implemented in different orders, with the inclusion of one or more additional steps, and/or with the exclusion of one or more of the identified steps. Additionally, the steps and techniques described above as being performed by some computing devices and/or systems may alternatively, or additionally, be performed by other computing devices and/or systems that are described above or other computing devices and/or systems that are not explicitly described. Similarly, the systems, devices, and apparatuses may include one or more additional features, may exclude one or more of the identified features, and/or include the identified features combined in a different way than presented above. Features that are described as singular may be implemented as a plurality of such features. Likewise, features that are described as a plurality may be implemented as singular instances of such features. The drawings are intended to be illustrative and may not precisely depict some implementations. Variations in sizing, placement, shapes, angles, and/or the positioning of features relative to each other are possible. 

What is claimed is:
 1. A computer-implemented method comprising: receiving, at a computer system and from a client computing device, a request for component-based building information indicating building quality; identifying, by the computer system, one or more buildings responsive to the request; and for each building from the one or more buildings: accessing, by the computer system and using an identifier for the building, component information for components installed in the building, the component information including (i) a record of user-generated service requests for the components, (ii) a record of services performed on the components, and (iii) remaining warranty terms for the components; determining, by the computer system, quality ratings for the components based on evaluation of the component information using one or more data models that correlate portions of the component information with one or more quality rating values, wherein the quality ratings indicate probabilities that the components will need to be replaced or repaired within a threshold period of time; determining, by the computer system, one or more overall quality ratings for the building based on one or more combinations of the quality ratings for the components in the building; and providing, by the computer system and to the client computing device, the one or more overall quality ratings for the building.
 2. The computer-implemented method of claim 1, wherein the request for information includes one or more building identifiers.
 3. The computer-implemented method of claim 1, wherein the request for information includes search criteria for identifying the one or more buildings.
 4. The computer-implemented method of claim 3, wherein the search criteria includes information designating one or more of: a geographic search area, a building price, a range of building prices, a building size, a range of building sizes, a number of rooms, a range of room numbers, and a building type.
 5. The computer-implemented method of claim 1, wherein identifying the one or more buildings includes querying a real estate information system.
 6. The computer-implemented method of claim 1, wherein accessing component information includes querying a building data system to receive information associated with particular instances of the components installed in the building, wherein the received information identifies ages of the components, warranty information for the components, and records of services performed on the components.
 7. The computer-implemented method of claim 6, wherein the one or more data models incorporate other component information associated with other instances of the components installed at a plurality of other buildings, the other component information including a record of services performed on the other instances of the components at the plurality of other buildings.
 8. The computer-implemented method of claim 7, wherein the quality ratings for the components are determined based at least in part on the other component information associated with other instances of the components.
 9. The computer-implemented method of claim 7, wherein the quality ratings for the components are determined based at least in part on information received from one or more manufacturer data systems.
 10. The computer-implemented method of claim 7, wherein the quality ratings for the components are determined based at least in part on expected lifespans of the components.
 11. The computer-implemented method of claim 10, wherein determining the quality ratings includes, for each of the components, comparing the age of the component with the expected lifespan for the component.
 12. The computer-implemented method of claim 6, wherein each of the one or more overall quality ratings includes a component maintenance quality rating that is determined based on a comparison of service records for the components to suggested maintenance schedules for the components.
 13. The computer-implemented method of claim 1, wherein determining the quality ratings includes, for each of the components, determining a frequency of service issues associated with the component.
 14. The computer-implemented method of claim 1, wherein determining the quality ratings includes, for each of the components, determining whether the component is currently covered by at least one warranty.
 15. The computer-implemented method of claim 1, wherein determining the quality ratings includes, for each of the components, receiving performance reporting information from the component.
 16. The computer-implemented method of claim 1, further comprising determining, by the computer system and for each building, a composite quality rating for the building, including aggregating the one or more overall quality ratings, and providing the composite quality rating to the client computing device, wherein the one or more overall quality ratings comprise a plurality of overall quality ratings that correspond to a plurality of component systems within the building.
 17. The computer-implemented method of claim 16, wherein the composite quality rating includes a composite maintenance quality rating.
 18. A computer program product embodied in a non-transitory computer storage device storing instructions that, when executed, cause one or more computer processors to perform operations comprising: receiving, from a client computing device, a request for component-based building information indicating building quality; identifying one or more buildings responsive to the request; and for each building from the one or more buildings: accessing, using an identifier for the building, component information for components installed in the building, the component information including (i) a record of user-generated service requests for the components, (ii) a record of services performed on the components, and (iii) remaining warranty terms for the components; determining quality ratings for the components based on evaluation of the component information using one or more data models that correlate portions of the component information with one or more quality rating values, wherein the quality ratings indicate probabilities that the components will need to be replaced or repaired within a threshold period of time; determining one or more overall quality ratings for the building based on one or more combinations of the quality ratings for the components in the building; and providing, to the client computing device, the one or more overall quality ratings for the building.
 19. A computer system comprising: one or more computer processors; and a memory storage apparatus in data communication with the one or more processors and storing instructions executable by the one or more processors and that upon such execution cause the one or more processors to perform operations comprising: receiving from a client computing device, a request for component-based building information indicating building quality; identifying one or more buildings responsive to the request; and for each building from the one or more buildings: accessing, using an identifier for the building, component information for components installed in the building, the component information including (i) a record of user-generated service requests for the components, (ii) a record of services performed on the components, and (iii) remaining warranty terms for the components; determining quality ratings for the components based on evaluation of the component information using one or more data models that correlate portions of the component information with one or more quality rating values, wherein the quality ratings indicate probabilities that the components will need to be replaced or repaired within a threshold period of time; determining one or more overall quality ratings for the building based on one or more combinations of the quality ratings for the components in the building; and providing, to the client computing device, the one or more overall quality ratings for the building.
 20. The computer system of claim 19, wherein accessing component information includes querying a building data system to receive information associated with particular instances of the components installed in the building, wherein the received information identifies ages of the components, warranty information for the components, and record of services performed on the components. 